// src/utils/request.js
import { RequestConfig } from '@umijs/max';

export const request = (config: RequestConfig) => {
  return {
    ...config,
    // 全局默认配置
    timeout: 10000, // 请求超时时间
    headers: {
      'Content-Type': 'application/json;charset=UTF-8',
    },
    // 请求拦截器
    requestInterceptors: [
      (url: any, options: any) => {
        // 添加 Token（示例）
        const token = localStorage.getItem('token');
        if (token) {
          options.headers = {
            ...options.headers,
            Authorization: `Bearer ${token}`,
          };
        }
        return { url, options };
      },
    ],
    // 响应拦截器
    // src/utils/request.js
    responseInterceptors: [
      (response: any) => {
        if (response.data && response.data.code === 401) {
          // 未授权，跳转到登录页
          window.location.href = '/login';
        }
        return response;
      },
    ],
  };
};

// 导出类型定义（可选）
export type IRequestConfig = RequestConfig;

// // 模块化的定义request配置 工具层
// const Request = {
//   timeout: 10000,
//   baseURL: 'http://localhost:3000',
//   requestInterceptors: [
//     (url: any, opitions: any) => {
//       // 请求拦截  options里面包含了请求头
//       // 配置 token 就在这里
//       opitions.headers = opitions.headers || {};
//       opitions.headers.Authorization = localStorage.token || '';
//       console.log(url, opitions);
//       // 返回请求头的配置
//       return { url, opitions };
//     },
//   ],
//   responseInterceptors: [],
// };
